HSPは無料のプログラミングが可能なスクリプト言語
 
HSP - Character 2
  HOME
  News
  HSP Error
  HSP stick
  Character 1
  Character 2
  HSP File
  HSP Internet
  HSP Link
  Gallery 1
  Gallery 2
  HSP Graphic
ボール移動

ボールを自動で移動させます。配列変数を使います。

 HSP 3.0a

;見えないバッファ画面
 buffer 1

 ;黒色塗りつぶし
 color
 boxf

 ;球体イメージ1を描画
 repeat 18
  hsvcolor 0,200-cnt*10,255
  circle cnt,cnt,50-cnt*2,50-cnt*2
 loop

 ;球体イメージ2を描画
 repeat 18
  hsvcolor 130,200-cnt*10,255
  circle 50+cnt,cnt,100-cnt*2,50-cnt*2
 loop

 ;球体イメージ3を描画
 repeat 18
  hsvcolor 30,200-cnt*10,255
  circle 100+cnt,cnt,150-cnt*2,50-cnt*2
 loop

 ;メイン画面
 screen 0,400,300

 dim flag,3

 ;球体の位置
 randomize
 repeat 3
  pos_x.cnt=rnd(350)
  pos_y.cnt=rnd(250)
 loop

 ;球体移動量
 value_move=5

; 黒透過
 gmode 2

 repeat
  ;画面反映を停止
  redraw 0

        ;黒色の塗りつぶし
  color 0,0,0
  boxf

 repeat 3
 ;右下
 if flag.cnt=0{
  pos_x.cnt+=value_move
  pos_y.cnt+=value_move

  if pos_x.cnt>=350 : flag.cnt=3
  if pos_y.cnt>=250 : flag.cnt=2

  goto *@f
 }

 ;左上
 if flag.cnt=1{
  pos_x.cnt-=value_move
  pos_y.cnt-=value_move

  if pos_x.cnt<=0 : flag.cnt=2
  if pos_y.cnt<=0 : flag.cnt=3

  goto *@f
 }

 ;右上
 if flag.cnt=2{
  pos_x.cnt+=value_move
  pos_y.cnt-=value_move

  if pos_x.cnt>=350 : flag.cnt=1
  if pos_y.cnt<=0 : flag.cnt=0

  goto *@f
 }

 ;左下
 if flag.cnt=3{
  pos_x.cnt-=value_move
  pos_y.cnt+=value_move

  if pos_x.cnt<=0 : flag.cnt=0
  if pos_y.cnt>=250 : flag.cnt=1

  goto *@f
 }

*@

  ;球体イメージをバッファ画面からコピー
  pos pos_x.cnt,pos_y.cnt
  gcopy 1, 50*cnt, 0, 50, 50

loop

  ;画面反映を再開
  redraw 1

  await 32
 loop

Copyright(C) 2007 hsp-.page.tl